package pl.polsl.mmm.projectcomm.objects.MD5;

import pl.polsl.mmm.projectcomm.data.vec2;
import pl.polsl.mmm.projectcomm.data.vec3;

/**
 * Created by Maciek on 2014-11-01.
 */
public class MD5Vertex {
    private vec2 uv;
    private vec3 normal;
    private vec3 position;
    private int startWeight;
    private int weightCount;

    public MD5Vertex() {
        uv = new vec2();
        normal = new vec3();
        position = new vec3();
    }

    public MD5Vertex(MD5Vertex originalVertex) {
        this.uv = new vec2(originalVertex.uv);
        this.normal = new vec3(originalVertex.normal);
        this.position = new vec3(originalVertex.position);
        this.startWeight = originalVertex.startWeight;
        this.weightCount = originalVertex.weightCount;
    }

    public void resetVectors() {
        this.normal.x  = this.normal.y = this.normal.z = 0.0f;
        this.position.x = this.position.y = this.position.z = 0.0f;
    }

    /*********************GETTERY I SETTERY************************************/
    public vec2 getUv() {
        return uv;
    }

    public void setUv(vec2 uv) {
        this.uv = uv;
    }

    public int getStartWeight() {
        return startWeight;
    }

    public void setStartWeight(int startWeight) {
        this.startWeight = startWeight;
    }

    public int getWeightCount() {
        return weightCount;
    }

    public void setWeightCount(int weightCount) {
        this.weightCount = weightCount;
    }

    public vec3 getNormal() {
        return normal;
    }

    public void setNormal(vec3 normal) {
        this.normal = normal;
    }

    public vec3 getPosition() {
        return position;
    }

    public void setPosition(vec3 position) {
        this.position = position;
    }
}
